typedstream StreamTable HashTable Object [20c] typedstream [679c] typedstream HashTable Object FirstResponder HeaderClass %%%%i@@ firstnib checkSpelling: alignSelCenter: unscript: pasteFont: runPageLayout: superscript: copyRuler: copyFont: selectAll: pasteRuler: toggleRuler: showGuessPanel: alignSelLeft: paste: performClose: arrangeInFront: subscript: copy: alignSelRight: delete: orderFrontColorPanel: underline: performMiniaturize: InspectMeApp Application /usr/include/sys/message.h appnib inspectorManager newDocWindow: displayInspectorPanel: [6079c] typedstream HashTable Object NibData @@@@s Storage {*@@} [32{*@@}] File's Owner CustomObject InspectMeApp MainMenu MenuTemplate *@*@ccc InspectMe Matrix Control Responder @:@iiii MenuCell ButtonCell ActionCell Info... Helvetica Paste Select All ff@@#::s submenuAction: Bitmap menuArrow Inspector... New window Windows Arrange in Front Miniaturize Window Close Window WindowTemplate iiii***@s@ Panel [13@] TextField TextFieldCell 'Kevin Brain (ksbrain@zeus.UWaterloo.ca) 5an example of the usage of the InspectorManager class Version 2.0 Button NXImage InspectMeIcon BJuly 1992, University of Waterloo. Released to the public domain. InspectMe! Times-BoldItalic$ 8Create multiple windows and inspect the Things in them. Readme! Button1 Field2 VersionNumber Field Field1 Field4 Field3 Field5 Field6 Field7 Field8! Window About InspectorManager... ScrollView ClipView ciifffcfffs [2248c]{\rtf0\ansi{\fonttbl\f1\fmodern Courier;\f0\fswiss Helvetica;} \margl40 \margr40 {\colortbl\red0\green0\blue0;} \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f1\b\i0\ul0\fs28\fc0 InspectorManager\ \b0\fs24 InspectorManager is a class that manages the displaying of elements of a list of view objects that are periodically displayed and removed from a window. One obvious use of this is for implementing an inspector panel (hence the name), but the functionality of this class is really not specific to inspectors. Despite the terminology used, InspectorManager could be useful for other purposes, such as a multi-view preferences panel. (I considered changing the name to something that more closely reflects this, but eventually decided not to.) It was designed to be flexible enough to handle inspector functionality for just about any application.\ Basically, you give InspectorManager "inspector views" (such as boxes with controls in them) and tell it when you want it to display one of them. When a selection is made via the group popup, InspectorManager messages a delegate and lets the delegate determine which inspector needs to be shown. This allows total flexibility - a single popUpList item (eg. 'Contents' in Workspace Manager) may bring up one of many actual inspectors (eg. '.snd', '.tiff', '.h', etc.) - but you are required to write the code that determines which inspector needs to be shown. \ \ul Features of InspectorManager class: \ul0 \ 1) PopUpList items are not tied to particular inspectors, so that an inspector appropriate for the currently selected object can be shown.\ 2) Allows inspector views laid out in any of an application's nib files to be managed by a single InspectorManager.\ 3) Uses command-key equivalents for switching between inspectors and displaying the panel (as is done in Workspace Manager and Interface Builder).\ 4) Uses compositing to an offscreen buffer to speed swaps between inspectors. This feature may be disabled if desired. \ 5) Allows an inspector view to consist of multiple smaller views, if desired.\ Complete documentation for the class is given in the file InspectorManager.rtf.\ Kevin Brain\ ksbrain@zeus.UWaterloo.ca \ NXCursor NXibeam Scroller _doScroller: @@@ffsG ScrollingText;5 {i*@@@} [15{i*@@@}] hide: terminate: copy: paste: selectAll: newDocWindow: displayInspectorPanel: orderFront: performMiniaturize: performClose: arrangeInFront: delegate5